﻿using ClieOp;
using NUnit.Framework;

namespace ClieOpTest
{
    [TestFixture]
    public class PostTest
    {
        [Test, ExpectedException("System.ArgumentException")]
        public void AddOmschrijvingTest()
        {
            var post = new Post((decimal)1.23, 786892692, "Roel van der Steen", "12345");
            post.AddOmschrijving("foo");
            post.AddOmschrijving("bar");
            post.AddOmschrijving("boo");
            post.AddOmschrijving("bah");
            Assert.AreEqual("foo", post.Omschrijvingen[0]);
            Assert.AreEqual("bar", post.Omschrijvingen[1]);
            Assert.AreEqual("boo", post.Omschrijvingen[2]);
            Assert.AreEqual("bah", post.Omschrijvingen[3]);
            post.AddOmschrijving("fail"); // throws System.ArgumentException
        }

        [Test]
        public void ToStringTest()
        {
            var post = new Post((decimal)1.23, 786892692, "Roel van der Steen", "12345");
            string expected = "0100A100100000000012307868926920000000000         \r\n0150A12345" + new string(' ', 11 + 29) + "\r\n";
            Assert.AreEqual(expected, post.ToString());
        }
    }
}